package com.example.tass.domain;

public class SymRequestExtKey {
    
    private String extKeyInfo;  // 加密使用的外部密钥，外部密钥支持明文和密文两种方式，通过encKeyId参数指定，encKeyId为空表示私钥为明文，encKeyId不为空表示私钥为密文。
    private String extKeyInfoAlg; // 加密使用的外部密钥算法类型，可选值：SM1、SM4、AES、DES、DESede、RC4
    private String encKeyId; // 加密外部密钥的对称密钥标识名，如果该参数为空则表示外部密钥为明文，否则外部密钥为密文。
    private String enckeyAccessCode;    // 加密外部密钥的对称密钥访问控制码，如果该密钥后台未设置访问控制码则可不填，否则必须填入对应访问控制码。
    private int encMode;    // 加密外部密钥的加密模式，可选值：0: ECB模式 1: CBC模式 2：OFB模式 3：CFB模式 非以上可选值，默认为ECB模式
    private int encPadMode; // 加密外部密钥的填充模式，可选值： 0：不填充 1：pkcs5填充 非以上可选值，默认为不填充
    private String encIv;   // Base64 String    加密外部密钥的iv向量，非ECB模式该参数必填。
    private int mode;   // 加密模式，可选值： 0: ECB模式 1: CBC模式 2：OFB模式 3：CFB模式 非以上可选值，默认为ECB模式
    private int padMode;    // 填充模式，可选值： 0：不填充 1：pkcs5填充 非以上可选值，默认为不填充
    private String iv;  // Base64 String iv向量，非ECB模式该参数必填。
    private String data;    // Base64 String 待加密的原数据

    public String getExtKeyInfo() {
        return extKeyInfo;
    }

    public void setExtKeyInfo(String extKeyInfo) {
        this.extKeyInfo = extKeyInfo;
    }

    public String getExtKeyInfoAlg() {
        return extKeyInfoAlg;
    }

    public void setExtKeyInfoAlg(String extKeyInfoAlg) {
        this.extKeyInfoAlg = extKeyInfoAlg;
    }

    public String getEncKeyId() {
        return encKeyId;
    }

    public void setEncKeyId(String encKeyId) {
        this.encKeyId = encKeyId;
    }

    public String getEnckeyAccessCode() {
        return enckeyAccessCode;
    }

    public void setEnckeyAccessCode(String enckeyAccessCode) {
        this.enckeyAccessCode = enckeyAccessCode;
    }

    public int getEncMode() {
        return encMode;
    }

    public void setEncMode(int encMode) {
        this.encMode = encMode;
    }

    public int getEncPadMode() {
        return encPadMode;
    }

    public void setEncPadMode(int encPadMode) {
        this.encPadMode = encPadMode;
    }

    public String getEncIv() {
        return encIv;
    }

    public void setEncIv(String encIv) {
        this.encIv = encIv;
    }

    public int getMode() {
        return mode;
    }

    public void setMode(int mode) {
        this.mode = mode;
    }

    public int getPadMode() {
        return padMode;
    }

    public void setPadMode(int padMode) {
        this.padMode = padMode;
    }

    public String getIv() {
        return iv;
    }

    public void setIv(String iv) {
        this.iv = iv;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }
}
